package system.dto.sys;

//***************************************************
// 对象自动生成，可按需要修改字段与属性，自动生成不会产生覆盖
// 需要全新生成时删除本对象重新生成即可
//***************************************************

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 账户编辑参数
 */
@Data
public class SysUserUpdate {
    @ApiModelProperty(value = "id")
    private Long id;
    @ApiModelProperty(value = "账户名(登录名)")
    private String username;
    @ApiModelProperty(value = "密码")
    private String password;
    @ApiModelProperty(value = "密码盐")
    private String passwordSalt;
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssZ")
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssZ")
    @ApiModelProperty(value = "密码更新时间")
    private Date passwordUpdate;
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssZ")
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssZ")
    @ApiModelProperty(value = "密码过期时间")
    private Date passwordExpired;
    @ApiModelProperty(value = "下次登录是否要求修改密码0/1")
    private Integer passwordNext;
    @ApiModelProperty(value = "姓名")
    private String name;
    @ApiModelProperty(value = "启用状态(0.启用, 1.禁用)")
    private Integer isDisabled;
    @ApiModelProperty(value = "邮件验证状态 (0.未验证, 1.已验证)")
    private Integer isMail;
    @ApiModelProperty(value = "电话验证状态 (0.未验证, 1.已验证)")
    private Integer isMobile;
    @ApiModelProperty(value = "注册审批状态 (0.待审批, 1.已批准, 2.已拒绝)")
    private Integer regApproval;
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssZ")
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssZ")
    @ApiModelProperty(value = "最后登录时间")
    private Date loginTime;
    @ApiModelProperty(value = "最后登录IP")
    private String loginIp;
    @ApiModelProperty(value = "登录次数")
    private Integer loginCount;
    @ApiModelProperty(value = "用户来源, create, register, ...")
    private String source;
    @ApiModelProperty(value = "用户邮箱")
    private String mail;
    @ApiModelProperty(value = "手机号码")
    private String mobile;
    @ApiModelProperty(value = "电话号码")
    private String phone;
    @ApiModelProperty(value = "分机号码")
    private String phoneExt;
    @ApiModelProperty(value = "头像")
    private String avatar;
    @ApiModelProperty(value = "所属部门ID")
    private Integer deptId;
    @ApiModelProperty(value = "岗位ID")
    private Integer postId;
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssZ")
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssZ")
    @ApiModelProperty(value = "账号过期时间")
    private Date expiredTime;
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssZ")
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ssZ")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
    @ApiModelProperty(value = "备注")
    private String remark;
}